//导入java.sql包中的相关类
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//导入javax.sql包中的相关类
import javax.sql.DataSource;

//导入com.mysql.cj.jdbc包中的MysqlDataSource类
import com.mysql.cj.jdbc.MysqlDataSource;


public class JDBCSelectDemo {
    public static void main(String[] args) throws SQLException {
        //创建一个数据源对象
        DataSource dataSource = new MysqlDataSource();

        //设置数据源对象的属性
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/itcast?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("020110");

        //通过数据源对象获取数据库连接对象
        Connection connection = dataSource.getConnection();

        //准备SQL查询语句
        String sql = "select * from student";

        //通过连接对象创建预编译的SQL语句执行对象
        PreparedStatement statement = connection.prepareStatement(sql);

        //执行SQL查询，并获取查询结果集
        ResultSet resultSet = statement.executeQuery();

        //遍历查询结果集，输出每一条记录的id和name字段值
        while(resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = " + id + ", name = " + name);
        }

        //关闭查询结果集、预编译的SQL语句执行对象和数据库连接对象
        resultSet.close();
        statement.close();
        connection.close();
    }
}